package com.microservice.salmon.weixin.store;

import com.microservice.salmon.weixin.domain.ticket.Ticket;

/**
 * <p>
 * 微信令牌存放结构，可以根据具体情况进行实现例如 redis Map等方式进行实现
 * </p>
 *
 * @author 王洪庆 2018-12-11 12:00
 */
public interface WeiXinTicketStore {
    /**
     * 从存储里面获取到令牌,如果令牌过期 返回 null，此时需要重新进行获取
     * @param key 微信 APP ID
     * @return 返回令牌
     */
    Ticket getWeiXinTicketFromStore(String key);

    /**
     * 存储微信AccessToken
     * @param key 微信APP ID
     * @param ticket 请求到的令牌
     */
    void storeWeiXinTicket(String key, Ticket ticket);
}
